Many networks incorporate Quality of Service (QoS) management. QoS management increases the overall experience for users of devices connected to the network by setting transmission parameters associated with specific communications over the network. The user experience may be improved by providing preferential treatment to network communications carrying data most likely to affect a user's experience.
In a network with limited bandwidth, preferential treatment may involve setting transmission characteristics of messages so that the more of the available network bandwidth is allocated to communications carrying information likely to impact the user's experience. Multiple ways are known to operate a network so that bandwidth is preferentially allocated to certain communications.
For example, transmission characteristics may be set by “tagging” packets with a priority indicator. Network devices may preferentially process packets tagged to indicate a higher priority. Alternatively, priority of some communications may be increased by reducing the priority of others. For example, low priority communications involving multiple packets may be “throttled” to reduce the number or rate at which packets are injected onto the network. Throttling may occur at the source of the data or at any device along a route through the network.
Networks that carry audio-visual (A/V) streams present a particularly challenging environment for QoS support because they involve large amounts of data. Consequently, the A/V data streams are likely to consume all available bandwidth of a network and create problems associated with transmission quality.
In addition, quality problems of A/V streams are likely to be perceptible to a user when the A/V data is presented to the user by a “sink device” that receives the data over the network. An A/V signal is represented as a stream of packets. If some of the packets in the stream are lost or delayed in reaching the sink device, the user may notice a “glitch” or otherwise perceive sound or picture problems as the A/V stream is presented to the user.
Various approaches have been used for managing QoS in networks carrying A/V streams. One approach that has been used is to buffer multiple packets of data in an A/V stream at the sink device before starting to present the A/V stream for the user. As the sink device receives packets in the stream, it stores them in a buffer rather than presenting them to a user. Once enough packets are stored in the buffer, the sink device presents the A/V data from the buffer. The advantage of buffering is that, if a packet in the A/V stream is delayed in reaching the sink device, the user will not notice because the sink device will be displaying information from the buffer while waiting for the delayed packet to arrive. A drawback of buffering is that the user may perceive a delay as the buffer is initially being filled. Delays of five seconds or more may be necessary, but such delays are too long to meet the expectations of users, who are accustomed to seeing nearly instantaneous response from televisions, stereos and other devices that display audio/visual information.
Another approach for QoS management involves prioritization of packets associated with some data streams. Priorities have been assigned so that data streams that would otherwise overload the network are given a low priority. Prioritizing in this fashion provides an indirect method of bandwidth allocation.
In some instances, bandwidth may be allocated to an A/V stream more directly. If the bandwidth allocated for a data stream is less than the bandwidth of the data stream, an A/V server may reduce the total amount of data used to represent that signal in order for the A/V stream to fit within the allocated bandwidth. Various techniques are available to reduce the amount of data used to represent an A/V signal, such as reducing the resolution of the signal. Though a user viewing the A/V signal when it is presented by a sink device may experience a decrease in signal quality, the overall user experience of viewing a lower resolution signal may be better than if the signal contains glitches or if the data stream carrying the signal overloads the network so that other data streams are also not communicated reliably.
When either a direct or indirect bandwidth allocation is used, a server may measure available bandwidth before allocating bandwidth to a stream. Multiple techniques are available for bandwidth measurement, such as a Packet Rate Measurement (PRM) or a Packet Gap Measurement (PGM) or a “probe gap” approach.
Regardless of which approach is used, measuring available bandwidth can create a delay before the sink device receives the stream. To reduce this delay, a source of video information may cache transmission parameters used to allocate bandwidth to a particular sink device.